The present invention is directed, in general, to logic gates and, more specifically, to a noise tolerant conductance-based logic gate, adder circuits containing the gate and methods of operating and manufacturing the gate.
Digital systems are used extensively in computation and data processing, controls, communications and measurement. Digital systems use digital signals that may only assume discrete values. Typically, digital systems use binary signals that employ only two values. Since such systems only use two distinct values, errors caused by component variations are minimized. As a result, a digital system may be designed such that, for a given input, an output thereof is exactly correct and repeatable. This gives rise to the extreme accuracy for which digital systems are well known.
Analog systems, on the other hand, use analog signals that vary continuously over a specified range. Analog systems are thus particularly vulnerable to error, depending on the accuracy of the components used therein. Since digital systems are generally capable of greater accuracy and reliability than analog systems, many tasks formerly performed by analog systems are now performed exclusively by digital systems.
One basic building block of digital systems is a logic gate. Conventional logic gates have one output and one or more inputs. The number of inputs is called the xe2x80x9cfan-inxe2x80x9d of the gate. The state of the output is completely determined by the state(s) of the input(s). Conventional logic gates are typically created by coupling a number of transistors together to perform a Boolean function (e.g., AND, OR, NOT). The logic gates are then coupled together to form a multi-layer circuit that is capable of performing logical functions (e.g., arithmetic functions).
The maximum number of gates cascaded in series between the input and the output of such a circuit is typically referred to as the number of layers of gates. Designers are concerned with the number of layers in a circuit for several reasons. In some applications, increasing the number of layers may reduce the required number of gates and/or gate inputs (i.e., fan-in), thus reducing the cost (which may be expressed in terms of integrated circuit area) of building the multi-layer circuit. Of course, cascading a larger number of gates together may result in unacceptable input-output delays and data dependency conditions. When the input of a gate is switched, a finite time elapses before the output of the gate changes. If a large number of gates are cascaded together to form a circuit, the time between an input change and a corresponding change in the output of the circuit may become excessive, thereby slowing down the operation of the multi-layer circuit.
Arithmetic functions are particularly susceptible to the effects of cascaded gates. The serial solution for binary addition is given here as an example. Initially, a first augend bit and a first addend bit are combined to produce a first sum bit and a first carry (carry-out) bit. The first carry bit is then combined with the second augend and addend bits to produce the second sum and carry bits. Since the second sum bit is dependent on the value of the first carry bit, the second sum bit cannot be computed before the first carry bit is computed. While each input-output delay is small, the cumulative input-output delay perceived when adding large numbers, due to the propagation of the carry bits, is, in the worst case, proportional to the number of bits added, and may be prohibitive. Techniques (e.g., carry look-ahead, conditional sum) have been developed for reducing the delay to a logarithmic function of the number of input bits to be added. The number of Boolean gates (e.g., AND, OR, NOT) used by such techniques is in the range of 8 n to 35 n, or 2 n log(n) to 3 n log(n), where n is the number of bits to be added and the logarithms are base two.
Increasing processing power is a continuing goal in the development of processors such as microprocessors or digital signal processors (DSPs) . Processor designers are generally familiar with three ways to increase the processing power of a central processing unit (CPU). The CPU""s clock frequency may be increased so that the CPU can perform a greater number of operations in a given time period. Processors are designed to operate at increasingly high clock frequencies. For instance, the 8080 (introduced in 1974 by the Intel Corporation) was designed to operate at about 2 to 3 MHz. Today, Intel""s Pentium line of processors are designed to operate with clock frequencies over 400 MHz. While a higher clock frequency generally results in increased processing power, the higher clock frequency also increases power dissipation, resulting in higher device operating temperatures. Processor designers, therefore, must address these additional problems to avoid catastrophic device failures.
Another way to increase processing power is to increase input and output data bus width, thereby allowing the CPU to process a greater amount of code and data. Early processors were packaged using dual in-line packaging (DIP) technology. Increasing the width of the data buses was both expensive and unrealistic, often resulting in extremely large device packages. Today, with the use of pin grid array (PGA) packaging, increasing the size of the data buses no longer poses a packaging problem. Of course, a larger number of transistors is required to process the additional information conveyed by the wider data buses.
Yet another way to increase processing power is to change the internal architecture of the processor to overlap the execution of instructions by, for example, superscaling. This method also requires the addition of a large number of transistors, since entire processing stages or execution units must be duplicated. Performing a large number of instructions in parallel may also result in data dependency problems.
Accordingly, what is needed in the art is a new noise tolerant logic gate that performs logical operations (including mathematical operations, such as addition) significantly faster than prior art logic gates.
To address the above-discussed deficiencies of the prior art, the present invention provides a logic gate, an adder and methods of operating and manufacturing the same. In one embodiment, the logic gate includes: (1) a summer, having at least two single-bit inputs and a one noise-suppression input with corresponding conductances representing discrete weights, that generates a weighted sum of input binary digits presented at the at least two single-bit inputs and the noise-suppression input and (2) a quantizer, coupled to the summer, that generates an output binary digit at a binary output thereof that is a function of the weighted sum, the noise-suppression input increasing a noise tolerance of the logic gate.
In another embodiment, the logic gate includes: (1) a summer, having at least two single-bit inputs and an anti-floating input with corresponding conductances representing discrete weights, that generates a weighted sum of input binary digits presented at the at least two single-bit inputs and the anti-floating input and (2) a quantizer, coupled to the summer, that generates an output binary digit at a binary output thereof that is a function of the weighted sum, the anti-floating input preventing the weighted sum from being in an indefinite state.
The present invention therefore introduces the broad concept of employing the principles of conductance and more than two gate-internal, discrete logic levels to perform logical operations (including mathematical operations, such as addition) significantly faster than prior art logic gates. The present invention further introduces the concept of employing a noise-suppression input t o increase the noise tolerance of the logic gate. The present invention still further introduces the concept of employing an anti-floating input to prevent the output of the logic gate from being in an indefinite state.
In one embodiment of the present invention, the summer includes a noise-suppression logic circuit that develops the noise-suppression input. The noise-suppression logic circuit may implement a Boolean sub-function of the function performed by the gate.
In one embodiment of the present invention, the summer includes an anti-floating logic circuit that develops the anti-floating input. The anti-floating logic circuit may implement a Boolean sub-function of the function performed by the gate. In a preferred embodiment, the Boolean sub-function may be an AND logic function.
In one embodiment of the present invention, some of the input binary digits presented at the at least two single-bit inputs are also presented at the noise-suppression logic circuit. In an alternative embodiment, all of the input binary digits presented at the at least two single-bit inputs are also presented at the noise-suppression logic circuit.
In one embodiment of the present invention, some of the input binary digits presented at the at least two single-bit inputs are also presented at the anti-floating logic circuit. In an alternative embodiment, all of the input binary digits presented at the at least two single-bit inputs are also presented at the anti-floating logic circuit.
In one embodiment of the present invention, the discrete weights are integer multiples of a predetermined number. The predetermined number may be xe2x80x9c1,xe2x80x9d allowing the discrete weights to assume integer values. Of course, the predetermined number may be any suitable real number.
In one embodiment of the present invention, each of the at least two single-bit inputs, the noise-suppression input and the anti-floating input includes: (1) a voltage source and (2) a transistor, coupled to the voltage source and having a selectable intrinsic conductance, that couples the voltage source to the summer as a function of a corresponding particular input binary digit. In a preferred embodiment, the voltage source may be obtained from a reference voltage source having, at least temporarily, a substantially constant voltage level. In one embodiment, the voltage source may be a timing signal (such as a clock signal).
In a related embodiment, the transistor has a size that determines the selectable intrinsic conductance. The transistor may be selected from the group consisting of: (1) a p-channel metal oxide semiconductor (MOS) transistor and (2) an n-channel MOS transistor. Alternatively, the transistor may be of any other conventional or later-discovered type.
In an embodiment to be illustrated and described, a greater one of the discrete weights is associated with a one of the at least two binary inputs having a p-channel MOS transistor. The remaining discrete weights are associated with n-channel MOS transistors. Of course, this need not be the case.
In one embodiment of the present invention, the gate further includes a threshold input that provides a threshold number to the quantizer, the output binary digit being a function of a relationship between the weighted sum and the threshold number. In an embodiment to be illustrated and described, the quantizer produces a high logic level if the weighted sum exceeds the threshold number and a low logic level otherwise.
In a related embodiment, the threshold number is determined by relative sizes of at least two transistors forming the quantizer. Of course, the threshold number may simply be input into the quantizer.
In one embodiment of the present invention, the quantizer includes an inverter. It has been found that an inverter provides a particularly fast quantization of the weighted sum. Of course, other quantizers (e.g., comparators, differential amplifiers, sense amplifiers and integrators), are well within the broad scope of the present invention.
The foregoing has outlined, rather broadly, preferred and alternative features of the present invention so that those skilled in the art may better understand the detailed description of the invention that follows. Additional features of the invention will be described hereinafter that form the subject of the claims of the invention. Those skilled in the art should appreciate that they can readily use the disclosed conception and specific embodiment as a basis for designing or modifying other structures for carrying out the same purposes of the present invention. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the invention in its broadest form.